package cn.com.api.service;

import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Service;

import cn.com.api.entity.ApiU_discover;
import cn.com.api.entity.ApiU_discover_resources;
import cn.com.api.entity.ApiU_discover_spec;
import cn.com.api.service.base.U_discoverServiceBase;
import cn.com.util.PageInfo;

/**
 * 
 */
@Service
public interface ApiU_discoverService extends U_discoverServiceBase {

  	//新增对象后返回记录ID
    public int U_discoverInsertion(ApiU_discover u_discover);
    
    //新增discover以及其specs
    public int U_discoverInsertionWithSpec(ApiU_discover u_discover, List<ApiU_discover_spec> u_discover_specs, List<ApiU_discover_resources> u_discover_resources);
  
    //新增discover以及其specs
    public int U_discoverInsertionWithSpec(ApiU_discover u_discover, List<ApiU_discover_spec> u_discover_specs);
      
    //删除
    public int U_discover_delete(Integer id);
    //取消
    public int U_discovercancel(Integer id);
    
    //修改discover
    public int U_discoverUpdateWithSpec(ApiU_discover u_discover, List<ApiU_discover_spec> u_discover_specs);
    
    //审核新发现（服务、活动、需求）
    public int U_discoverVerify(ApiU_discover u_discover);
    
    //根据userId获得新发现记录
    public List<ApiU_discover> getU_discoverByUser(String userId);
    
    //根据能力标签获得新发现
    public List<ApiU_discover> getU_discoverByUserAbility(String[] userlabels, Integer type);
    
    
    public List<Map<String, Object>> searchDiscover(Map<String, Object> conditions, PageInfo pageInfo);
    
    //获取展会信息列表
	public List<ApiU_discover> findU_discovers_exhibitionByMap(
			Map<String, Object> params, PageInfo pageInfo);

	public List<ApiU_discover> getU_discoverByJoinUser(Map<String, Object> paramMap);

	public void insertU_discoverShare(Map<String, String> paramMap);

	public ApiU_discover findU_discovers_detail(Map<String, String> params);

	public List<ApiU_discover> find_discover_list(Map<String, Object> params, PageInfo pageInfo);

	public int find_discover_join_count(Map<String, Object> params);

	public int find_discover_publish_count(Map<String, Object> params);

	public 	List<ApiU_discover> findFavoriteDiscoverList(String cate_type, String user_id, Integer type,
			PageInfo page);

	public List<ApiU_discover> search_discover_info(
			Map<String, Object> conditions, PageInfo pageInfo);

	public List<Map<String, Object>> find_discover_by_loc(
			Map<String, Object> params);

	public List<Map<String, String>> selectByOrListPage(
			Map<String, Object> cond, PageInfo page);
	
	//获取用户是否参与活动状态
	public int findU_discovers_status_byUserid(Map<String, String> params);
	
	//修改新发现
    public int U_discoverupdateWithSpec(ApiU_discover u_discover, List<ApiU_discover_spec> u_discover_specs, List<ApiU_discover_resources> u_discover_resources);

	public void findTaskInfo(Map<String, Object> param);


}


